この項では、マスター・データ・ストア内の単一表の内容をサブスクライバ・データ・ストアにレプリケートする単純なレプリケーション・スキームの設定方法について説明します。わかりやすくするために、両方のデータ・ストアは同じコンピュータに存在することとします。
図2.1 単純なレプリケーション・スキーム
手順は次のとおりです。
masterDSNおよびsubscriberDSNという2つのシステム・データソース(システムDSN)を作成します。『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のTimesTenデータ・ストアの作成に関する章を参照してください。
図2.2 マスター・データ・ストアおよびサブスクライバ・データ・ストア
masterdsは、次のように設定します。
図2.3 マスターからサブスクライバへのrepl.tabのレプリケート
テキスト・エディタを使用して、repscheme.sqlというSQLファイルを作成し、次の文を入力します。
CREATE TABLE repl.tab (a SMALLINT NOT NULL, b SMALLINT, c CHAR(8), PRIMARY KEY (a)); CREATE REPLICATION repl.repscheme ELEMENT e TABLE repl.tab MASTER masterds SUBSCRIBER subscriberds;コマンド・プロンプト・ウィンドウを開き、ttIsqlを使用してrepscheme.sqlファイルに指定されているSQLコマンドをマスターおよびサブスクライバの両方のデータ・ストアに適用します。
> ttIsql -f repscheme.sql masterds > ttIsql -f repscheme.sql subscriberds
ttAdminユーティリティを使用して、マスターおよびサブスクライバのレプリケーション・エージェントを起動します。
> ttAdmin -repStart masterds > ttAdmin -repStart subscriberds図2.4 マスターおよびサブスクライバのレプリケーション・エージェント
各ttAdmin ttAdmin-repStartコマンドの出力には、「Replication Manually Started: True.」と表示されます。
> ttAdmin -repStart masterds RAM Residence Policy : inUse Manually Loaded In Ram : False Replication Agent Policy : manual Replication Manually Started : True Oracle Agent Policy : manual Oracle Agent Manually Started : False > ttAdmin -repStart subscriberds RAM Residence Policy : inUse Manually Loaded In Ram : False Replication Agent Policy : manual Replication Manually Started : True Oracle Agent Policy : manual Oracle Agent Manually Started : False
コマンド・プロンプト・ウインドウで、ttIsqlを使用してマスター・データ・ストアに接続し、INSERTコマンドでrepl.tab表に行を挿入します。
> ttIsql masterds Command> INSERT INTO repl.tab VALUES (1, 22, `Hello'); Command> INSERT INTO repl.tab VALUES (3, 86, `World');サブスクライバ用に2つ目のコマンド・プロンプト・ウインドウを開き、サブスクライバ・データ・ストアに接続してrepl.tab表の内容を確認します。
> ttIsql subscriberds Command> SELECT * FROM repl.tab; < 1, 22, Hello> < 3, 86, World> 2 rows found.
図2.5 サブスクライバ・データ・ストアへの変更のレプリケート
masterdsデータ・ストア内のrepl.tab表に対してさらに変更を行うと、それらの変更はsubscriberdsデータ・ストア内の表にレプリケートされます。
masterdsからsubscriberdsにレプリケートできた場合は、「手順5: レプリケーション・スキームおよび表の削除」に進みます。そうでない場合は、「レプリケーションの問題」のトラブルシューティングのヒントを参照してください。
レプリケーションのテストを完了した後、ttIsqlを終了し、ttAdminユーティリティを使用してマスターおよびサブスクライバのレプリケーション・エージェントを停止します。
Command> exit > ttAdmin -repStop masterds > ttAdmin -repStop subscriberdsrepl.tab表およびrepl.schemeレプリケーション・スキームをマスターおよびサブスクライバのデータ・ストアから削除するには、テキスト・エディタを使用して、次の内容を含む別のSQLファイルdropRepscheme.sqlを作成します。
コマンド・プロンプト・ウインドウで、ttIsqlユーティリティを使用して、dropRepscheme.sqlファイルに指定されているSQLコマンドをマスターおよびサブスクライバの両方のデータ・ストアに適用します。